package com.infore.common.model.entity.exchange;

import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;
import com.infore.common.base.BaseModel;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;

/**
 * <p>
 * 数据同步-数据来源
 * </p>
 *
 * @author lijh
 * @since 2023-02-10
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("t_ex_source_data_info")
public class TSourceDataInfo extends BaseModel<TSourceDataInfo> {

    private static final long serialVersionUID = 1L;

    @TableId(value = "source_id", type = IdType.UUID)
    private String sourceId;
    /**
     * 数据源
     */
    @TableField("database_id")
    private String databaseId;


    /**
     * 数据表
     */
    @TableField("data_table")
    private String dataTable;


    /**
     * 数据表中文名称
     */
    @TableField("data_table_cn")
    private String dataTableCn;

    /**
     * 数据列
     */
    @TableField("data_fields")
    private String dataFields;
    /**
     * where条件
     */
    @TableField("where_condition")
    private String whereCondition;
    /**
     * 增量列
     */
    @TableField("increment_column")
    private String incrementColumn;

    /**
     * 增量类型 time,long
     */
    @TableField("increment_type")
    private String incrementType;
    /**
     * 增量查询开始值
     */
    @TableField("increment_start_value")
    private String incrementStartValue;
    /**
     * 某些特殊表增量查询开始值_偏移分钟数，往前偏移为负数，往后偏移为正数
     */
    @TableField("increment_before_minutes")
    private String incrementBeforeMinutes;
    /**
     * 增量查询结束值
     */
    @TableField("increment_end_value")
    private String incrementEndValue;
    /**
     * 接口地址，数据来源与接口时使用
     */
    @TableField("url")
    private String url;
    /**
     * 接口请求方式 GET/POST
     */
    @TableField("url_method")
    private String urlMethod;


    @Override
    protected Serializable pkVal() {
        return this.sourceId;
    }

}
